A computer network is a collection of interconnected computing devices that may exchange data and share resources. In a packet-based network, such as an Ethernet network, the computing devices communicate data by dividing the data into variable-length blocks called packets, which are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form.
Certain devices, referred to as routers, maintain routing information representative of a topology of the network. The routers exchange routing information so as to maintain an accurate representation of available routes through the network. A “route” may generally be defined as a path between two locations on the network. Upon receiving an incoming data packet, a router examines information within the packet, often referred to as a “key,” to select an appropriate next hop to which to forward the packet in accordance with the routing information.
A variety of routers exist within the Internet. Network Service Providers (NSPs), for example, maintain “edge routers” to provide Internet access and other services to the customers. Examples of services that the NSP may provide include Voice over IP (VOIP), access for Asynchronous Transfer Mode (ATM) or frame relay communications, Internet protocol (IP) data services, and multimedia services, such as video streaming. The edge routers of the NSPs often communicate network traffic to high-speed “core routers,” which may be generally viewed as forming the backbone of the Internet. These core routers often include substantially more processing resources than the edge routers, and are designed to handle high volumes of network traffic.
NSPs often desire to isolate the forwarding functions and other networks services for customers from one another for purposes of reliability and security. As a result, in some environments an NSP may implement many dedicated routers and other networking devices for each different enterprise customer. However, the complexities associated with maintenance and management of separate routers and other networking equipment may be significant.
To address these concerns, some conventional routers allow an NSP to configure and operate multiple logical software routers within the same physical routing device. These software routers are logically isolated in the sense that they achieve operational and organizational isolation within the routing device without requiring the use of additional or redundant hardware, e.g., additional hardware-based routing controllers. That is, the software routers share the hardware components of the physical routing device, such as the forwarding units and interface cards. Consequently, network providers may logically preserve conventional layers of routers within a network using virtual routers while improving physical hardware utilization. Therefore, virtual routers maintain organizational segmentation of network layers while tailoring physical capacity to the requirements of each layer.
In some cases, packets may be forwarded from one virtual router to another within the same physical system. One approach for accomplishing this is to use additional physical hardware, such as an additional physical interface, as a loopback component to forward egress packets from one virtual router to another as ingress packets. Upon receiving the loopbacked packet as an ingress packet, the receiving virtual router performs a second lookup operation to forward the packet out an egress interface of the virtual router. For instance, a physical egress interface of a first virtual router may be interconnected to a physical ingress interface of a second virtual router using a physical cable. In this way, packets are routed from the first virtual router using the network cable to the second virtual router that exists in the same physical system that hosts the first virtual router. In another example, a physical line card may be used to route network packets between interfaces of a first virtual router and a second virtual router. In either case, capital expenditures are required to purchase the physical line card and/or network cables. Moreover, internal switch fabric bandwidth may be consumed in that a network packet looped back using a physical line card or cable may be routed through the switch fabric multiple times, i.e., through a switch fabric interconnecting the first and second virtual routers to the loop back component. For instance, the first virtual router may route an inbound network packet across the switch fabric to an egress interface of the first virtual router. When the network packet is received at the ingress interface of the second virtual router, the network packet is again routed across the switch fabric to an egress interface of second virtual router. Thus, physical interconnections used to route network packets between virtual routers may result in higher capital expenditures and lower performance due to network packets traversing switch fabrics multiple times.